#!/bin/bash
#skript pro planovani uloh na STAR

if [[ $# -eq 0 ]]
  then
    echo "Použití:    \"star_run <počet jader> <fronta>\", kde <počet jader> udává, na kolika jádrech aplikace poběží a <fronta> je buď číslo od 2 do 5, nebo hodnota fast, short, _default_ nebo long. Ani jeden parametr není povinný."
    for j in 1 2 4 8 16 24 32
      do
        ./star_run $j
      done
    exit 0
  fi

cpus="$1"
queue="$2"

case $1 in
  [1-8])
    [[ -z "$2" ]] && queue=default;; #teoreticky i fast (u lehcich uloh)
  9      | 1[0-6])
    [[ -z "$2" ]] && queue=short;;
  1[7-9] | 2[0-4])
    [[ -z "$2" ]] && queue=long;;
  * )
    cpus=8
    queue=default;;
esac

case $queue in
  fast  | 2)
    popis_fronty="fast.q   max 8   max běh 1 min   priorita 2 // Fronta pro rychlé testování vašich úloh"
    queue="-q fast.q -l pfq";;
  short | 3)
    popis_fronty="short.q   max uzlů 16   max běh 20 min   priorita 3"
    queue="-q short.q -l psq";;
  long  | 5)
    popis_fronty="long.q   max uzlů 24   max běh 40 min   priorita 5 // Fronta pro dlouhé úlohy"
    queue="-q long.q -l plq";;
  * | default | 4)
    popis_fronty="default.q   max uzlů 8   max běh 30 min   priorita 4 // Výchozí fronta"
    queue="-q default.q -l pdq";;
esac

echo "Plánováno:  procesoru" "$cpus" " " "$popis_fronty"
qsub -pe ompi $cpus $queue parallel_job.sh
